package main

import "fmt"

//关于append删除切片中的某个元素
/* 无论切片来自另外一个数组还是切片，其内存指针地址，
永远对着最原始的数组，内容改变，相当于原始数组对应内存指针地址内容改变 */
//切片中对应索引位置改变了值，相当是，原始数组内存指针地址改变了内容
func main() {
	a1 := [...]int{1, 3, 5, 7, 9, 11, 13, 15, 17}
	s1 := a1[:]
	fmt.Printf("a1=%v,len(a1)=%d,cap(a1)=%d \n", a1, len(a1), cap(a1))
	fmt.Printf("s1=%v,len(s1)=%d,cap(s1)=%d \n", s1, len(s1), cap(s1))
	//删除索引为1的那个3,切片中对应索引位置改变了值，相当是
	s1 = append(s1[:1], s1[2:]...)
	fmt.Printf("s1=%v,len(s1)=%d,cap(s1)=%d \n", s1, len(s1), cap(s1))

	fmt.Printf("a1=%v,len(a1)=%d,cap(a1)=%d \n", a1, len(a1), cap(a1))

	s1[5] = 25
	fmt.Printf("s1=%v,len(s1)=%d,cap(s1)=%d \n", s1, len(s1), cap(s1))

	fmt.Printf("a1=%v,len(a1)=%d,cap(a1)=%d \n", a1, len(a1), cap(a1))

}
